home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 05 Programming / CPFUNC.DOC < prev    next >
Text File  |  2019-04-13  |  20KB  |  951 lines

  1.  
  2. CPowerC Functions
  3. -----------------
  4.  
  5. --------------------------------------
  6.  
  7. abs, fabs - absolute value
  8.  
  9. abs(i)
  10. int i;
  11.  
  12. fabs(f)
  13. float f;
  14.  
  15. abs and fabs return the absolute value
  16. of their arguments
  17.  
  18. --------------------------------------
  19.  
  20. atoi, atof - convert strings to numbers
  21.  
  22. atoi(iptr)
  23. char *iptr;
  24.  
  25. float atof(fptr)
  26. char *fptr;
  27.  
  28. atoi converts the string pointed to by
  29. its argument into an integer
  30.  
  31. atof converts the string pointed to by
  32. its argument into a float quantity
  33.  
  34. both functions ignore leading spaces
  35.  
  36. ---------------------------------------
  37.  
  38. bcmp, bcopy, bzero, ffs - bit and byte
  39. string functions
  40.  
  41. bcmp(p1, p2, len)
  42. char *p1, *p2;
  43.  
  44. bcopy(p1, p2, len)
  45. char *p1, *p2;
  46.  
  47. ffs(i)
  48. int i;
  49.  
  50. bcmp compares len bytes of the strings
  51. p1 and p2 and returns zero if they are
  52. the same, none-zero otherwise
  53.  
  54. bcopy copies len bytes from string p1
  55. to string p2
  56.  
  57. bzero fills string p with len zeros
  58.  
  59. ffs returns the position of the first
  60. set bit in its argument. bits are
  61. numbered starting at one. if the
  62. argument is zero ffs returns -1
  63.  
  64. --------------------------------------
  65.  
  66. exit, abort - terminate execution
  67.  
  68. exit()
  69.  
  70. abort()
  71.  
  72. exit and abort end program execution.
  73. all files opened by fopen are closed
  74.  
  75. --------------------------------------
  76.  
  77. exp, log, log10, pow, sqrt - assorted
  78. math functions
  79.  
  80. #include <math.h>
  81.  
  82. float exp(x)
  83. float x;
  84.  
  85. float log(x)
  86. float x;
  87.  
  88. float log10(x)
  89. float x;
  90.  
  91. float pow(x, y)
  92. float x, y;
  93.  
  94. float sqrt(x)
  95. float x;
  96.  
  97. exp returns e**x
  98.  
  99. log returns the natural logarithm of x
  100.  
  101. log10 returns base 10 logarithm of x
  102.  
  103. pow returns x**y.
  104.  
  105. sqrt returns the square root of x
  106.  
  107. --------------------------------------
  108.  
  109. ferror - check for error
  110. feof - check for end of file
  111.  
  112. #include <stdio.h>
  113.  
  114. ferror()
  115.  
  116. feof(stream)
  117. FILE stream;
  118.  
  119. ferror returns non-zero if an error
  120. occurred during the last disk
  121. operation, zero otherwise
  122.  
  123. feof returns non-zero if the specified
  124. stream has reached end of file, zero
  125. otherwise
  126.  
  127. --------------------------------------
  128.  
  129. floor, ceil, modf -  get integer part
  130.                      of float
  131.  
  132. #include <math.h>
  133.  
  134. float floor(x)
  135. float x;
  136.  
  137. float ceil(x)
  138. float x;
  139.  
  140. float modf(x,ptr)
  141. float x, *ptr;
  142.  
  143. floor returns the greatest integer not
  144. greater than x
  145.  
  146. ceil returns the least integer not
  147. less than x
  148.  
  149. modf returns the positive fractional
  150. part of x and stores the integer part
  151. indirectly through ptr
  152.  
  153. --------------------------------------
  154.  
  155. fopen, freopen, fclose - open disk
  156.                          file for i/o
  157.  
  158. #include <stdio.h>
  159.  
  160. FILE fopen(filename,mode)
  161. char *filename,*mode;
  162.  
  163. FILE freopen(filename,mode,stream)
  164. char *filename,*mode;
  165. FILE stream;
  166.  
  167. fclose(stream)
  168. FILE stream;
  169.  
  170. fopen opens a disk file file for
  171. reading or writing. the string
  172. filename contains the name of the file
  173. and the  first character of the string
  174. mode specifies read or write ('r' or
  175. 'w'). the default file type is
  176. sequential, but program file types may
  177. selected. fopen returns a file number
  178. (hearafter referred to as a stream)
  179. which may be used in later i/o, or it
  180. returns zero if the file cannot be
  181. opened
  182.  
  183. freopen opens a file much the same as
  184. fopen does. the file stream is first
  185. closed, then if successful the old
  186. stream is assigned to the new file.
  187. this is useful to assign the constant
  188. streams stdin and stdout to disk
  189. files
  190.  
  191. ferror should be checked after every
  192. fopen
  193.  
  194. fclose closes the specified file
  195.  
  196. --------------------------------------
  197.  
  198. fread, fwrite - array input/output
  199.  
  200. #include <stdio.h>
  201.  
  202. fread(ptr,elsize,nelem,stream)
  203. char *ptr;
  204. FILE stream;
  205.  
  206. fwrite(ptr,elsize,nelem,stream)
  207. char *ptr;
  208. FILE stream;
  209.  
  210. Fread/fwrite reads/writes an array
  211. containing nelem elements each of size
  212. elesize bytes geginning at ptr from/to
  213. the specified stream
  214.  
  215. fread returns zero upon end of file
  216.  
  217. --------------------------------------
  218.  
  219. frexp,ldexp - split float into
  220.               mantissa and exponent
  221.  
  222. float frexp(value,ptr)
  223. float value;
  224. int *ptr;
  225.  
  226. float ldexp(value,exp)
  227. float value;
  228.  
  229. frexp splits value into a mantissa m
  230. of manitude less than 1 (which is
  231. returned) and an exponent exp (which
  232. is stored indirectly through ptr) such
  233. that value = m * 2**exp
  234.  
  235. ldexp returns value * 2**exp
  236.  
  237. --------------------------------------
  238.  
  239. getc,getchar,fgetc,getw
  240. - input character or integer
  241.  
  242. #include <stdio.h>
  243.  
  244. int getc(stream)
  245. FILE stream;
  246.  
  247. int getchar()
  248.  
  249. int fgetc(stream)
  250. FILE stream;
  251.  
  252. int getw(stream)
  253. FILE stream;
  254.  
  255. Getc and fgetc read a character from
  256. the specified stream
  257.  
  258. Getchar reads a character from the
  259. standard input
  260.  
  261. Getw reads an integer (two bytes)
  262. from the specified stream
  263.  
  264. All of these functions return EOF upon
  265. end of file, however, since EOF is a
  266. valid integer, feof should be used to
  267. check for end of file after getw
  268.  
  269. --------------------------------------
  270.  
  271. gets, fgets - input a string
  272.  
  273. #include <stdio.h>
  274.  
  275. char *gets(s)
  276. char *s;
  277.  
  278. char *fgets(s,n,stream)
  279. char *s;
  280. FILE stream;
  281.  
  282. Gets inputs a string from the standard
  283. input. it reads characters into s
  284. until a newline is encountered. the
  285. newline is replaced with a zero
  286.  
  287. Fgets inputs a string from the
  288. specified stream. it reads n-1
  289. characters or until a newline is
  290. encountered whichever comes first. the
  291. newline is not replaced but a zero is
  292. placed after the last character read
  293.  
  294. Both functions return s upon normal
  295. completion or NULL upon end of file
  296.  
  297. --------------------------------------
  298.  
  299. highmem -  memory configuration
  300.  
  301. highmem(address)
  302. unsigned address;
  303.  
  304. Highmem sets the highest address that
  305. a C program can use. the run time
  306. stack will not go past this address,
  307. and the memory allocation functions
  308. (malloc, calloc, realloc) will not
  309. allocate memory higher than this
  310. address. the value of the argument
  311. must be one greater than the desired
  312. address. if highmem is not called,
  313. address defaults to 0xd000, which
  314. means the highest address which can be
  315. used is 0xcfff
  316.  
  317. --------------------------------------
  318.  
  319. hypot, cabs - calculate hypotenuse
  320.  
  321. #include <math.h>
  322.  
  323. float hypot(x,y)
  324. float x, y;
  325.  
  326. float cabs(c)
  327. struct (* float x,y; *) *c;
  328.  
  329. Hypot and cabs return sqrt(x*x + y*y)
  330.  
  331. --------------------------------------
  332.  
  333. isalpha, ... - classify characters
  334.  
  335. isalpha(c)
  336.  
  337. The following functions return
  338. non-zero integers if the stated
  339. condition is true, zero otherwise
  340.  
  341. isalpha     c is a letter
  342. isupper     c is an upper case letter
  343. islower     c is a lower case letter
  344. isdigit     c is a digit
  345. isalnum     c is a letter or a digit
  346. isspace     c is a space or a newline
  347. ispunct     c is a punctuation char
  348. isprint     c is a printable char
  349. iscntrl     c is a control char
  350. isascii     c has value less than 0200
  351.  
  352. --------------------------------------
  353.  
  354. malloc, calloc, realloc,free
  355. - memory allocation
  356.  
  357. char *malloc(size)
  358. unsigned size;
  359.  
  360. char *calloc(nelem, elsize)
  361. unsigned nelem, elsize;
  362.  
  363. char *realloc(ptr, size)
  364. char *ptr;
  365. unsigned size;
  366.  
  367. free(ptr)
  368. char *ptr;
  369.  
  370. Malloc returns a pointer to a block of
  371. memory containing at least size bytes
  372. Calloc returns a pointer to a block of
  373. zero-filled memory containing at least
  374. nelem * elsize bytes
  375. Realloc copies the block pointed to by
  376. ptr into a new block containing at
  377. least size bytes. ptr must point to a
  378. block allocated by malloc, calloc or
  379. realloc
  380. free releases the block pointed to by
  381. ptr into the free memory list
  382. Malloc, calloc and realloc all return
  383. the null pointer (0) if there is not
  384. enough free memory to satisfy the
  385. request
  386.  
  387. --------------------------------------
  388.  
  389. open, close - BASIC style open/close
  390.  
  391. open(fileno, device, secaddr, name)
  392. char *name;
  393.  
  394. close(fileno);
  395.  
  396. The arguments of open correspond
  397. exactly to the file number, device
  398. number, secondary address, and file
  399. name arguments of the BASIC OPEN
  400. command. consult a Commodore 64 manual
  401. for the meanings of the arguments.
  402. similarly, close corresponds to the
  403. BASIC CLOSE command. open returns zero
  404. if the file can't be checked after
  405. opening a write file
  406. The file number argument may be used
  407. any place a stream (ie. a value
  408. returned by fopen) is used. File
  409. numbers 1 through 4 are reserved for
  410. system use. if open and fopen are used
  411. at the same time file numbers passed
  412. to open should be limited to the range
  413. 5 through 9
  414.  
  415. --------------------------------------
  416.  
  417. opendir, readdir, rewinddir closedir
  418. - directory functions
  419.  
  420. #include <dir.h>
  421.  
  422. opendir(unit:)
  423.  
  424. struct direct *readdir()
  425.  
  426. rewinddir()
  427.  
  428. closedir()
  429.  
  430. Opendir opens a disk directory for
  431. reading. the unit from which the
  432. directory is to be read may be
  433. specified. if the directory can't be
  434. opened NULL is returned. NOTE: the
  435. directory functions do not apply to
  436. the RAMDISK.
  437. Readdir reads the next directory entry
  438. and returns a pointer to it. if there
  439. are no more entries NULL is rteturned.
  440. see the header file dir.h and the
  441. VIC-1541 User's Manual for the format
  442. of a directory entry
  443. Rewinddir causes readdir to read the
  444. first entry upon the next call
  445. Closedir closes the directory.
  446.  
  447. --------------------------------------
  448.  
  449. (for Commodore 128)
  450. open2() - BASIC style open to unit#
  451.  
  452. open2(name, filename, unit, channel)
  453. char *name;
  454. int filenum;
  455. char unit;
  456. int channel;
  457.  
  458. open2() is the same as open(), except
  459. that the disk drive is specified by a
  460. unit number rather than a device
  461. number. if "filename" is not empty,
  462. then the unit number is taken from
  463. there, otherwise it is taken from
  464. "unit"
  465.  
  466. --------------------------------------
  467.  
  468. (for Commodore 128)
  469. peek() - BASIC style peek()
  470.  
  471. peek(bank, address);
  472. unsigned bank, address;
  473.  
  474. peek() returns the contents of the
  475. memory location in "bank" at "address"
  476.  
  477. --------------------------------------
  478.  
  479. (for Commodore 128)
  480. poke() - BASIC style poke
  481.  
  482. poke(bank, address, value)
  483. unsigned bank, address, value;
  484.  
  485. poke() puts the byte "value" into the
  486. memory locatin specified by "bank" and
  487. "address"
  488.  
  489. --------------------------------------
  490.  
  491. printf, fprintf, sprintf
  492. - formatted output
  493.  
  494. #include <stdio.h>
  495.  
  496. printf(control [, arg] ...)
  497. char *control;
  498.  
  499. fprintf(stream, control, [, arg] ...)
  500. FILE stream;
  501. char *control;
  502.  
  503. sprintf(s, control [, arg] ...)
  504. char *s, *control;
  505.  
  506. These functions output optional lists
  507. of arguments according to a format
  508. specified in the null terminated
  509. control string. printf sends output to
  510. the standard output. fprintf sends
  511. output to the specified stream.
  512. sprintf places output in the string s.
  513. sprintf also places a null character
  514. in s after the last output character.
  515. The control string may contain
  516. ordinary characters, which are output,
  517. and conversion specifiers which
  518. specify how an argument is to be
  519. formatted. each conversion specifier
  520. begins with a percent character (%)
  521. and is followed by:
  522. An optional dash (-) which indicates
  523. left adjustment of the argument in the
  524. output field. right adjustment is the
  525. default
  526. An optional number indicating the
  527. minimum field width. a converted
  528. argument will not be fruncated even if
  529. it won't fit in the specified field.
  530. if the first digit of the field width
  531. is zero the field will be padded with
  532. zeros, otherwise it will be padded
  533. with spaces. the maximum width is 64
  534. characters
  535. An optional period (.) followed by a
  536. number indicates the precision for a
  537. float or string argument. for floats
  538. the precision indicates the number of
  539. digits to be printed after the decimal
  540. point (default is six). if the
  541. precision is explicitly zero no
  542. decimal point is printed. for strings
  543. the precision indicates the maximum
  544. number of characters from the string
  545. to be printed (default is the whole
  546. string)
  547.  
  548. A letter is placed after the percent
  549. (%) conversion specifier indicating
  550. the type of conversion to performed as
  551. follows:
  552. d - an integer argument is printed as
  553. a possibly signed decimal number
  554. u - an integer argument is printed as
  555. an unsigned decimal number
  556. o - an integer argument is printed as
  557. an octal number
  558. x - an integer argument is printed as
  559. an hexadecimal number
  560. f - a float argument is printed
  561. s - a character pointer argument is
  562. assumed to point to a null terminated
  563. string which is printed
  564. c - an integer argument is assumed to
  565. be a character and is printed as such
  566.  
  567. For each conversion specifier a
  568. corresponding argument of an
  569. appropriate type must be provided.
  570. To output a percent character use %%.
  571. A star (*) may be used in place of
  572. field width or precision. the value
  573. will be taken from an integer
  574. argument.
  575.  
  576. --------------------------------------
  577.  
  578. putc, putchar, fputc, putw
  579. - output a character or integer
  580.  
  581. #include <stdio.h>
  582.  
  583. putc(c,stream)
  584. char c;
  585. FILE stream;
  586.  
  587. putchar(c)
  588. char c;
  589.  
  590. fputc(c,stream)
  591. char c;
  592. FILE stream;
  593.  
  594. putw(i, stream)
  595. int i;
  596. FILE stream;
  597.  
  598. Putc and fputc write a character
  599. to the specified stream. Putchar
  600. writes a character to the standard
  601. output. Puts writes an integer to the
  602. specified stream.
  603.  
  604. --------------------------------------
  605.  
  606. puts, fputs - output a string
  607.  
  608. #include <stdio.h>
  609.  
  610. puts(s)
  611. char *s;
  612.  
  613. fputs(s, stream)
  614. char *s;
  615. FILE stream;
  616.  
  617. Puts writes a NULL-terminated string
  618. to the standard output. Puts outputs
  619. a newline character after the string.
  620. Fputs writes a NULL-terminated string
  621. to the specified stream. Fputs does
  622. not output a newline character.
  623.  
  624. --------------------------------------
  625.  
  626. qsort - general purpose sort
  627.  
  628. qsort(base, nel, elsize, comp)
  629. char *base;
  630. int (*comp)();
  631.  
  632. Qsort sorts an array beginning at
  633. "base", containing number of elements
  634. "nel", each of size "elsize". "Comp"
  635. is a function pointer to a function
  636. which compares elements. The function
  637. "comp" must take two pointers to
  638. elements of the array and return an
  639. integer less than, equal to, or greater
  640. than zero, as the first element is
  641. less than, equal to, or greater than,
  642. the second.
  643.  
  644. --------------------------------------
  645.  
  646. random, srandom
  647. - random number generator
  648.  
  649. random();
  650.  
  651. srandom(seed);
  652.  
  653. Random returns a psuedo-random
  654. integer. Srandom sets the state of
  655. the random number generator. If
  656. srandom is called twice with the same
  657. seed the same sequence of random
  658. numbers is generated.
  659.  
  660. --------------------------------------
  661.  
  662. scanf,fscanf,sscanf - formatted output
  663.  
  664. #include <stdio.h>
  665.  
  666. scanf(control [, arg] ...)
  667. char *control;
  668.  
  669. fscanf(stream, control [, arg] ...)
  670. FILE stream;
  671. char *control;
  672.  
  673. sscanf(s, control [, arg] ...)
  674. char *s, *control;
  675.  
  676. These functions read sequences of
  677. characters, perform conversions
  678. specified by the control string on
  679. them, and store the converted values
  680. indirectly through pointer arguments.
  681. Scanf reads from the standard input,
  682. fscanf reads from the specified
  683. stream, and sscanf reads from the
  684. string s.
  685. The control string may contain blanks
  686. and newlines, which may match
  687. optional blanks and newlines from the
  688. input, other ordinary characters,
  689. wich must match corresponding
  690. characters from the input, and
  691. conversion specifiers.
  692.  
  693. Each conversion specifier begins with
  694. a percent character (%) and is
  695. followed by:
  696. An optional star (*) which suppresses
  697. assignment of the converted value.
  698. An optional number which specifies
  699. the maximum field width. Characters
  700. are read up to the first unrecognized
  701. character for the type of conversion
  702. being performed or until the number
  703. of charcters read equals the field
  704. width, whichever comes first. If no
  705. field width is specified characters
  706. are read up to the first unrecognized
  707. character.
  708.  
  709. A letter following the percent
  710. character indicates the type of
  711. conversion to be performed on the
  712. field as follows:
  713. d - the field is expected to contain
  714. a possibly signed decimal number
  715. which is converted into an integer
  716. x - the field is expected to contain
  717. a hexadecimal number which is
  718. converted into an integer
  719. o - the field is expected to contain
  720. an octal number which is converted
  721. into an integer
  722. f - the field is expected to contain
  723. a possibly signed decimal number with
  724. an optional decimal point and
  725. exponent which is converted into a
  726. float
  727. s - no conversion is performed; the
  728. field is copied into a string
  729. argument with a NULL character
  730. appended
  731. c - the field contains a single
  732. character which is copied into a
  733. character argument
  734.  
  735. For each conversion specifier (except
  736. for those which suppress assignment)
  737. there must be a corresponding
  738. argument which is a pointer to an
  739. appropriate type. For example, a
  740. coversion requires that there be a
  741. pointer to an integer or an unsigned.
  742. To match a percent character from the
  743. input use %%.
  744. These functions return EOF upon end
  745. of file, otherwise they return the
  746. number of conversions successfully
  747. performed. This number may be less
  748. than the number of conversion
  749. specifiers if, for example,
  750. characters in the control string do
  751. not match corresponding characters
  752. from the input.
  753. To input strings with embedded spaces
  754. use gets or fgets.
  755.  
  756. --------------------------------------
  757.  
  758. setjmp, longjmp - long range goto
  759.  
  760. #include <setjump.h>
  761.  
  762. setjmp(env)
  763. jmp buf env;
  764.  
  765. longjmp(env, val)
  766. jmp buf env;
  767.  
  768. Setjmp stores its stack environment
  769. in "env" and returns zero.
  770. Longjmp restores the stack
  771. environment saved by setjmp and
  772. returns in such a way that it
  773. appears thta the original call to
  774. setjmp has returned with the value
  775. "val".
  776. The calls to setjmp and longjmp may
  777. be in different functions but the
  778. function containing the setjmp call
  779. must not have returned before the
  780. call to longjmp.
  781.  
  782. --------------------------------------
  783.  
  784. sin,cos,tan,asin,acos,atan,atan2
  785. - trigonometric functions
  786.  
  787. #include <math.h>
  788.  
  789. float sin(x)
  790. float x;
  791.  
  792. float cos(x)
  793. float x;
  794.  
  795. float tan(x)
  796. float x;
  797.  
  798. float asin(x)
  799. float x;
  800.  
  801. float acos(x)
  802. float x;
  803.  
  804. float atan(x)
  805. float x;
  806.  
  807. float atan2(x)
  808. float x;
  809.  
  810. Sin, cos and tan return the sine,
  811. cosine, and tangent of x
  812. respectively. X is measured in
  813. radians.
  814. Asin, acos and atan return the
  815. arcsine, arccos and arctangent of x
  816. respectively.
  817. Atan2 returns the arctangent of x/y.
  818.  
  819. --------------------------------------
  820.  
  821. sinh,cosh,tanh - hyperbolic functions
  822.  
  823. #include <math.h>
  824.  
  825. float sinh(x)
  826. float x;
  827.  
  828. float cosh(x)
  829. float x;
  830.  
  831. float tanh(x)
  832. float x;
  833.  
  834. Sinh, cosh and tanh return the
  835. hyperbolic sine, cosine and tangent
  836. of x respectively.
  837.  
  838. --------------------------------------
  839.  
  840. strcat,strncat,strcmp,strncmp,strcpy,
  841. strncpy,strlen,index,rindex
  842. - string functions
  843.  
  844. #include <strings.h>
  845.  
  846. char *strcat(s1,s2)
  847. char *s1,*s2;
  848.  
  849. char *strncat(s1,s2,n)
  850. char *s1,*s2;
  851. int n;
  852.  
  853. strcmp(s1,s2)
  854. char *s1,*s2;
  855.  
  856. strncmp(s1,s2,n)
  857. char *s1,*s2;
  858. int n;
  859.  
  860. char *strcpy(s1,s2)
  861. char *s1,*s2;
  862.  
  863. char *strncpy(s1,s2,n)
  864. char *s1,*s2;
  865. int n;
  866.  
  867. strlen(s)
  868. char *s;
  869.  
  870. char *index(s,c)
  871. char *s, c;
  872.  
  873. char *rindex(s,c)
  874. char *s, c;
  875.  
  876. All of the following functions
  877. operate on character strings
  878. terminated with zero.
  879.  
  880. Strcat and strncat concatenate the
  881. strings s1 and s2 and leave the
  882. result in s1. Strncat copies at most
  883. n characters from s2. Both functions
  884. return s1.
  885.  
  886. Strcmp and strncmp compare the
  887. strings s1 and s2 and return an
  888. integer less than, equal to, or
  889. greater than zero as s1 is lexically
  890. less than, equal to, or greater than
  891. s2. Strncmp compares at most n
  892. characters.
  893.  
  894. Strcpy and strncpy copies s2 into s1.
  895. Strncpy copies at most n characters.
  896. Both functions return s1.
  897.  
  898. Strlen returns the number of non-zero
  899. characters in the string s.
  900.  
  901. Index/rindex returns a pointer to the
  902. leftmost/rightmost occurence of the
  903. character c in the string s. If the
  904. character is not in the string a null
  905. pointer (0) is returned.
  906.  
  907. --------------------------------------
  908.  
  909.  
  910. sys - call machine language subroutine
  911.  
  912. sys(address, aptr, xptr, yptr)
  913. unsigned address;
  914. char *aptr,*xptr,*yptr;
  915.  
  916. (for Commodore 128)
  917. sys(bank, address, aptr, xptr, yptr)
  918. int bank;
  919. unsigned address;
  920. char *aptr,*xptr,*yptr;
  921.  
  922. Sys loads the accumulator, x, and y
  923. registers of the 6510 processor with
  924. the values pointed to by a, x, and y
  925. respectively then jumps to the
  926. subroutine located at the specified
  927. address. Upon completion of the
  928. subroutine the (possibly) new values
  929. contained in the registers are stored
  930. indirectly through the pointer
  931. arguments. Sys returns zero if the
  932. carry flag is clear after the
  933. subroutine call, otherwise it returns
  934. one. This function allows the
  935. programmer to combine assembler and C
  936. code in one program without having to
  937. use a special assembler. Another use
  938. of sys is to access kernal routines
  939. not otherwise supported by the
  940. standard library.
  941.  
  942. (for Commodore 128)
  943. The "bank" in which the machine code
  944. resides must be specified by a number
  945. from 0 to 15 (See BASIC "BANK"
  946. command).
  947.  
  948. --------------------------------------
  949.  
  950.  
  951.